package day3Method;

/*
* 基本数据类型和字符串作为参数传递
* */
public class Demo4 {

    public static void main(String[] args) {
        //定义三个变量
        int a = 1;

        double b = 2.1;

        String str = "LOL";

        //调用更改形参的方法
        //基本类型作为参数传递为值传递,即使在方法中更改方法中参数的值，也不会对实际参数产生影响
        //字符串作为参数传递，也是传输的地址，字符串由字符数组组成，长度不可变。如果在方法中改变了字符串的值，
        // 相当于重新创建了一个字符类型的数组，然后把新数组的地址给方法中的变量，
        // 这样在主方法中和被调用的方法中两个str变量指向的地址就不再是同一个，也就不会相互影响

        changeParam(a,b,str);

        System.out.println("a的值:"+a);
        System.out.println("b的值:"+b);
        System.out.println("str的值:"+str);
    }

    //通过方法更改参数的值
    public static void changeParam(int a,double b,String str){
        System.out.println(a);

        a = 100;

        b = 3.14;

        str ="CF";

        System.out.println("方法中的a:"+a);
        System.out.println("方法中的b:"+b);
        System.out.println("方法中的str:"+str);
    }
}
